package com.jd.finance.core.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 贷款申请表
 * </p>
 *
 * @author LiQingBo
 * @since 2022-05-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "LoanApply对象", description = "贷款申请表")
public class LoanApply implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "贷款申请id")
    @TableId(value = "loan_app_id", type = IdType.AUTO)
    private Integer loanAppId;

    @ApiModelProperty(value = "贷款人id")
    private Integer uid;

    @ApiModelProperty(value = "工作人员id")
    private Integer workerId;

    @ApiModelProperty(value = "贷款id")
    private Integer lid;

    @ApiModelProperty(value = "银行信贷员id")
    private Integer officerId;

    @ApiModelProperty("产品名称")
    private String proName;

    @ApiModelProperty("银行名称")
    private String bankName;

    @ApiModelProperty("银行卡id")
    private Integer bcId;

    @ApiModelProperty("还款方式")
    private String repayWay;

    @ApiModelProperty(value = "贷款金额")
    private BigDecimal loanMoney;

    @ApiModelProperty(value = "批准贷款金额")
    private BigDecimal agreeMoney;

    @ApiModelProperty(value = "用户整体负债")
    private BigDecimal totalDebt;

    @ApiModelProperty(value = "贷款申请原因")
    private String loanReason;

    @ApiModelProperty(value = "贷款申请状态:待审核，已通过，未通过")
    private String loanApplyStatus;

    @ApiModelProperty(value = "一审通过时间")
    private LocalDateTime checkFirst;

    @ApiModelProperty(value = "二审通过时间")
    private LocalDateTime checkSecond;

    @ApiModelProperty(value = "一审是否通过 0:待审批  1：是  2：否")
    private Integer isPassFirst;

    @ApiModelProperty(value = "二审是否通过 0:待审批  1：是  2：否")
    private Integer isPassSecond;

    @ApiModelProperty(value = "一审审核信息")
    private String messageFirst;

    @ApiModelProperty(value = "二审审核信息")
    private String messageSecond;

    @ApiModelProperty(value = "一审审核员id")
    private Integer checkerFirstId;

    @ApiModelProperty(value = "二审审核员id")
    private Integer checkerSecondId;

    @ApiModelProperty(value = "一审审核员姓名")
    private String checkerFirstName;

    @ApiModelProperty(value = "二审审核员姓名")
    private String checkerSecondName;

    @ApiModelProperty(value = "是否上浮利率")
    @TableField("is_top")
    private Boolean top;

    @ApiModelProperty(value = "上浮利率数量")
    private BigDecimal topRate;

    @ApiModelProperty(value = "是否签约")
    @TableField("is_contract")
    private String isContract;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "是否删除")
    @TableField("is_deleted")
    @TableLogic
    private Boolean deleted;


}
